System and method for creating a build set and bill of materials from a master source model

ABSTRACT

A system and method for creating a build set and a BOM from user selected options from a single source model.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a divisional application of U.S. patent applicationSer. No. 12/043,304, filed Mar. 6, 2008, which is a non-provisional ofU.S. Patent Application No. 60/893,301, the entire texts of which arehereby incorporated by reference.

BACKGROUND OF THE INVENTION

What is needed is a mechanism to dynamically create a build set andbuild of materials from user-selected options from a single mastersource model.

SUMMARY OF THE INVENTION

The needs set forth above as well as further and other needs andadvantages are addressed by the present embodiment. The solutions andadvantages of the present embodiment are achieved by the illustrativeembodiment described herein below.

For a better understanding of the present embodiment, together withother and further objects thereof, reference is made to the accompanyingdrawings and detailed description.

Other objects and features will be in part apparent and in part pointedout hereinafter.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic block diagram of the system of the presentembodiment;

FIG. 2 is a schematic block diagram of the bill of materials (BOM)processor of the present embodiment;

FIG. 3 is a schematic block diagram of the build set processor of thepresent embodiment;

FIG. 4 is a flowchart of the part of the method of the presentembodiment that creates a build set; and

FIG. 5 is a flowchart of the part of the method of the presentembodiment that creates a bill of materials.

Corresponding reference characters indicate corresponding partsthroughout the drawings.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present embodiment is now described more fully hereinafter withreference to the accompanying drawings, which present an illustrative,but not limiting, embodiment. The following configuration description ispresented for illustrative purposes only. Any computer configuration andarchitecture satisfying the speed and interface requirements hereindescribed may be suitable for implementing the system and method of thepresent embodiment.

In the present embodiment, computer-aided design (CAD) drawingsincluding selected options can be created automatically for the purposeof, for example, viewing and pricing a model home with various options.Simple, complex, and intersecting options that are common in, forexample, production homes, can be included in the building designcreated by the present embodiment. A simple option can be, for example,but not limited to, when a washer or a dryer is optionally added to astandard building model. A complex option can be, for example, but isnot limited to, when a sunroom is added to a standard building model. Anintersection option can be, for example, but not limited to, whenselected options affect one other, and can include, for example, but notlimited to, when a sunroom with a walkout basement is added, or when theelevation is changed in a garage. When certain options are chosen, otherparts of the building design could be affected, for example, thefoundation, the first floor plan, or the roof plan. The presentembodiment accommodates assembling of a selected drawing based on theselected options. Also, groups of graphics from external drawings(drawings that are not the selected drawing) can be included in theselected drawing based on the selected options. Graphical preferencescan allow the display of identified selected options, and groups ofdisplayed selected options can be, for example, but not limited to,moved or removed based on graphical preferences of the selected options.The selected options can also change appearance depending on thegraphical preferences of the selected option. For example, the selectedoptions can be made to mirror each other, such as a left- orright-handed garage. The dimensions of the drawing can be adjusted afterthe selected options have been included. Notes and details thatcorrespond to option selection can also be preserved.

After the CAD drawing, or build set, is complete, a BOM can beformulated which can allow comparisons between, for example, the cost ofa building constructed according to a CAD drawing having one set ofselected options versus the cost of a building constructed according toa CAD drawing having another set of selected options.

Referring now to FIG. 1, system 100 can include, but is not limited toincluding, master source model 41 configured to provide computer-aideddesign (CAD) objects 42, graphical objects 48, selectable options 47,and option strings 53 to build set processor 11 and/or build ofmaterials processor 51, Build set processor 11 can be configured toprovide a solved build set 69 to user interface 52 and, optionally,build set database 69A, while BOM processor 51 can be configured toprovide a BOM 75 to user interface 52. Build set 69 can be modified byexecuting either or both of external option processor 65, which accessesexternal drawings, and autodimension processor 62 which dimensions buildset 69.

Referring now to FIG. 2, BOM processor 51 can include, but is notlimited to including, a package creator 31 configured to create apackage 43 for each of the CAD objects 42. Package 43 can include, butis not limited to including, at least one quantity of materials 63, andat least one BOM rule 64. System 100 can further include user interface52 that can be configured to receive a selection of section 59 of buildset 69, and package processor 33 that can be configured to collect CADobjects 42 from section 59, determine packages 43 associated with CADobjects 42, and determine quantities of materials 63 associated withpackages 43. System 100 can still further include rule processor 35 thatcan be configured to apply at least one BOM rule 64 to determine buildset materials 67 from quantity of materials 63, building materialprocessor 37 that can be configured to merge similar of build setmaterials 67 to form material list 68 and associated quantities 71 andremove build set materials 67 from material list 68 that have a zerovalue for associated quantity 71. System 100 can also include BOMcreator 66 configured to apply a rounding rule associated with saidpackage 43 to associated quantities 71, and create BOM 75 from therounded associated quantities and material list 68.

Referring now to FIG. 3, build set processor 11 for creating a solvedbuild set 69 can include, but is not limited to including, a modelcopier 16 that can be configured to copy a master source model 41including a set of CAD objects 42, selectable options 47 associated withsaid CAD objects 42, option strings 53 associated with said selectableoptions 47, and graphical objects 48 that have said options strings 53applied and an option string processor 19. Option string processor 19can be configured to determine CAD objects 42 having said option strings53 associated therewith. CAD objects 42 can include, but are not limitedto including, CAD objects 42 associated with CAD entities, CAD objects42 contained within at least one closed line, CAD objects 42 on at leastone pre-selected layer, and CAD objects 42 in at least one pre-selectedexternal drawing. Option string processor 19 can be further configuredto apply user selected option values to each option string 53 associatedwith each determined CAD object, and logically evaluate each optionstring 53. System 100 can still further include CAD object manipulator18 that can be configured to manipulate by deleting, copying, ormodifying properties of each determined CAD object, based on theassociated logically evaluated option string. The properties caninclude, but are not limited to including, origin, orientation, layer,style, and wall height. System 100 can even still further include buildset creator 21 that can be configured to combine the manipulateddetermined CAD objects to produce solved build set 69.

Referring now primarily to FIGS. 2 and 4, method 150 (FIGS. 4 and 5) forcreating build set 69 (FIG. 1) and BOM 75 (FIG. 1) can include, but isnot limited to including, the steps of copying 171 (FIG. 4) mastersource model 41 (FIG. 3) including a set of CAD objects 42 (FIG. 3),determining 173 (FIG. 4) which of the set of CAD objects 42 (FIG. 3) hasassociated option strings 53 (FIG. 3), applying 175 (FIG. 4) userselected option values 53A (FIG. 3) to each of the associated optionstrings 53 (FIG. 3) with each of the determined CAD objects 42 (FIG. 3),logically evaluating 177 (FIG. 4) each of the associated option strings53 (FIG. 3), manipulating 179 (FIG. 4) each of the determined CADobjects 42 (FIG. 3) based on the associated logically evaluated optionstring, and storing 181 (FIG. 4) the manipulated determined CAD objectsin build set 69 (FIG. 3).

Referring now primarily to FIGS. 3 and 5, method 150 (FIGS. 4 and 5) canalso include the steps of creating 151 (FIG. 5) electronic package 43(FIG. 2), including quantities of materials 63 (FIG. 2) and BOM rules 67(FIG. 2), for each computer-aided design (CAD) object 42 (FIG. 1) increated package 43 (FIG. 2), receiving 153 (FIG. 5) a selection ofsection 59 (FIG. 2) of build set 69 (FIG. 2), collecting 155 (FIG. 5)CAD objects 42 (FIG. 2) from section 59 (FIG. 2), determining 157 (FIG.5) which electronic package 43 (FIG. 2) is associated with eachcollected CAD object 42 (FIG. 2), determining 159 (FIG. 5) quantities ofmaterials 63 (FIG. 2) associated with determined package 43 (FIG. 2),applying 161 (FIG. 5) at least one BOM rule 64 (FIG. 2) to determinebuild set materials 67 (FIG. 2) from quantities of materials 63 (FIG.2), merging 163 (FIG. 5) similar of the determined build set materialsto form material list 68 (FIG. 2) and associated quantities 71 (FIG. 2),removing 165 (FIG. 5) the determined build set materials that have azero value for an associated quantity property for the determined buildset materials from material list 68 (FIG. 2), applying 167 (FIG. 5) arounding rule associated with the determined package 43 (FIG. 2) toassociated quantities 71 (FIG. 2), and creating 169 (FIG. 5) BOM 75(FIG. 2) from the rounded associated quantities and the updated materiallist.

Referring primarily to FIG. 3, method 150 (FIGS. 4 and 5) can furtheroptionally include the steps of grouping graphical objects 48 (FIG. 3)associated with CAD objects 42 (FIG. 3) into types, applying each userselected option values 53A (FIG. 3) to each of graphical objects 48(FIG. 3) according to the type of graphical object 48 (FIG. 3), and ifone of the applied user selected option values associated with one ofgraphical objects 48 (FIG. 3) resolves to “false”, deleting one ofgraphical objects 48 (FIG. 3) from build set 69 (FIG. 3). Method 150(FIGS. 4 and 5) can even still further optionally include the steps ofdetermining, from master source model 41 (FIG. 3), at least one boxoption 22 (FIG. 3), including boundary box 23 (FIG. 3) and optionconnection array 24 (FIG. 3). Option connection array 24 (FIG. 3) caninclude, but is not limited to including, at least one option connection25 (FIG. 3). Each option connection 25 (FIG. 3) can include, but is notlimited to including, option connection option string 26 (FIG. 3), basepoint 27 (FIG. 3), and option point 28 (FIG. 3). Method 150 (FIGS. 4 and5) can also optionally include the steps of evaluating option connectionoption string 26 (FIG. 3) associated with option connection 25 (FIG. 3)if there is no more than one option connection 25 (FIG. 3), and ifevaluated option connection option string resolves to “false”, deletingCAD objects 42 (FIG. 3) within box option 22 (FIG. 3) and boundary box23 (FIG. 3) from build set 69 (FIG. 3). Method 150 (FIGS. 4 and 5) canalso include the steps of assigning a depth level to each nested boxoption within box option 22 (FIG. 3), ordering the nested box optionsaccording to the depth level, and solving box option 22 (FIG. 3) bysolving each of the ordered nested box options according to the depthlevel. The step of solving each of the ordered nested box options caninclude the steps of determining a set of option connections 25 (FIG. 3)associated with box option 22 (FIG. 3), evaluating option connectionoption string 26 (FIG. 3) associated with each option connection 25(FIG. 3), ignoring option connection 25 (FIG. 3) if the evaluated optionconnection option string resolves to “false”, copying CAD objects 42(FIG. 3) contained within boundary box 23 (FIG. 3) from option point 28(FIG. 3) to base point 27 (FIG. 3) if the evaluated option connectionoption string resolves to “true”, and deleting box option 22 (FIG. 3)after all option connections 25 (FIG. 3) have been evaluated, includingCAD objects 42 (FIG. 3) contained within. In method 150 (FIGS. 4 and 5),the step of solving each of the ordered external nested box options caninclude the steps of determining a set of the at least one externaloption connections associated with the at least one external box option,evaluating an external option connection option string associated witheach of the set of the at least one external option connections, copyingthe external CAD object contained within the external boundary box fromthe external option point to an external base point if the evaluatedexternal option string resolves to “true”, and deleting the at least oneexternal box option after all the at least one external optionconnections have been evaluated.

Continuing to refer primarily to FIG. 3, in method 150 (FIGS. 4 and 5),CAD objects 42 (FIG. 3) can include, but are not limited to including,CAD objects 42 (FIG. 3) associated with CAD entities, CAD objectscontained within at least one closed line, CAD objects 42 (FIG. 3) on atleast one pre-selected layer, CAD objects 42 (FIG. 3) in at least onepre-selected external drawing. In method 150 (FIGS. 4 and 5), the stepof manipulating CAD objects 42 (FIG. 3) can include the step ofselecting manipulation options from a group that can include, but is notlimited to including, deleting the determined CAD object, copying thedetermined CAD object, and modifying a property of the determined CADobject. The step of manipulating each of the determined external CADobjects can include the step of selecting manipulation options from agroup consisting of deleting the determined external CAD object, copyingthe determined external CAD object, and modifying a property of thedetermined external CAD object.

In one embodiment, method 150 (FIGS. 4 and 5) can optionally include thesteps of determining an external option associated with each of thedetermined CAD objects, determining external CAD objects havingassociated external option strings, applying external user selectedoption values to each of the associated external option strings, andlogically evaluating each of the associated external option strings.Method 150 (FIGS. 4 and 5) can further optionally include the steps ofmanipulating each of the determined external CAD objects based on theassociated logically evaluated external option strings, and determining,from the external option, an external box option. The external boxoption can include, but is not limited to including, an externalboundary box and an external option connection array. The externaloption connection array can include, but is not limited to including, atleast one external option connection. Each of the external optionconnections can include, but is not limited to including, an externaloption connection option string, an external base point, and an externaloption point. Method 150 (FIGS. 4 and 5) can still further include thesteps of evaluating the external option connection option stringassociated with the at least one external option connection if there isno more than one of the at least one external option connections, anddeleting the external CAD objects within the external box option and theexternal boundary box if the evaluated external option connection optionstring resolves to “false”. Method 150 (FIGS. 4 and 5) can also includethe steps of assigning an external depth level to each external nestedbox option within the external box option, ordering the external nestedbox options according to the external depth level, and solving theexternal box option by solving each of the ordered external nested boxoptions according to the external depth level. Method 150 (FIGS. 4 and5) can also include the steps of applying the external box option if theevaluated external option connection option string resolves to “true”,deleting the external box option if the evaluated external optionconnection option string resolves to “false”, collecting the externalCAD objects having external default styles and external style options,evaluating external style option strings associated with the externalstyle objects, changing the external default style of the external CADobject to the external style option associated with the external styleoption string that resolves to “true”, and copying the external CADobjects into the build set. Method 150 (FIGS. 4 and 5) can furtheroptionally include the step of selecting the external CAD objects from agroup consisting of the external CAD objects associated with externalCAD entities, the external CAD objects contained within at least oneexternal closed line, the external CAD objects on at least one externalpre-selected layer, and the external CAD objects in at least onepre-selected external drawing.

In another embodiment, method 150 (FIGS. 4 and 5) can further optionallyinclude the steps of displaying dimensions associated with the CADobjects including points and sides, receiving selections of thedisplayed dimensions, creating external dimensions for each side of themaster source model, wherein the external dimensions include openingpositions, wall positions, side dimensions, nodes for the sidedimensions, and internal dimension strings, and storing the externaldimensions in the build set. The step of creating external dimensionscan include the steps of determining the nodes and the internaldimension strings from the master source model, determining the openingpositions, the wall positions, and display attributes from pre-selectedsettings assigned to the master source model, and determining internaldimensions, including internal horizontal dimensions and internalvertical dimensions, by assessing a template dimension manual set by theuser, and storing the internal dimensions in the build set.

In another embodiment, system 100 (FIG. 1) and method 150 (FIGS. 4 and5) can use, for example, AUTODESK®'S AUTOCAD® product through itspublicly available Applications Programming Interface (API) forproviding CAD objects 42. The API can be used to find and manipulateinternal CAD objects 42 such as, for example, lines, walls, anddrawings. System 100 (FIG. 1) and method 150 (FIGS. 4 and 5) can alsouse a database having a standard interface such as, for example,Standard Query Language (SQL), to store data that might need to beaccessed outside of the CAD environment. For example, a table ofcategories that a material is assigned to, a table of a company's entirematerial (component) catalog, a table of options names available in acompany, a table of types of CAD objects 42 collected, for example,walls, door, or windows, a table of possible groups that a companyoption might fall under, a table of material packages in a company, atable linking components to their associated packages, and a tablelinking packages with associated sub-packages. In this embodiment, allmaterial that are contained under a package and its sub-packages can befound, and calculation rules can be applied to them. For example, in adrywall package, a calculation rule can be defined in which the area ofthe drywall package is 144 square feet, while a drywall sheet could havea rule that specifies that one sheet is 48 square feet. A paint packagemight have no rules assigned, while the paint material itself mightinclude the rule that one gallon covers 400 square feet, and paint labormight include the rule that four gallons/hour can be applied.

Referring to FIGS. 1 and 4-5, method 150 (FIGS. 4 and 5) can be, inwhole or in part, implemented electronically. Signals representingactions taken by elements of system 100 (FIG. 1) can travel overelectronic communications media and from node to node in acommunications network 20 (FIG. 1). Control and data information can beelectronically executed and stored on computer-usable media 12 (FIG. 1).Method 150 (FIGS. 4 and 5) can be implemented to execute on a node incomputer communications network 20 (FIG. 1). Common forms ofcomputer-usable media 12 (FIG. 1) can include, but are not limited to,for example, a floppy disk, a flexible disk, hard disk, magnetic tape,or any other magnetic medium, a CDROM, any other optical medium, punchedcards, paper tape, any other physical medium with patterns of holes, aRAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip orcartridge, or any other medium from which a computer can read. From atechnological standpoint, a signal or carrier wave (such as used forInternet distribution of software) encoded with functional descriptivematerial is similar to computer-readable medium 12 (FIG. 1) encoded withfunctional descriptive material, in that they both create a functionalinterrelationship with a computer. In other words, a computer is able toexecute the encoded functions, regardless of whether the format is adisk or a signal. System 100 (FIG. 1) can include communications network20 (FIG. 1) that can include at least one node for carrying out method150 (FIGS. 4 and 5). System 100 (FIG. 1) can be a distributed network(such as a network utilizing a distributed system format such as, butnot limited to, DCOM or CORBA) where a computer data signal (such as,but not limited to, signals over the Internet) traveling overcommunications network 12 (FIG. 1) carrying information capable ofcausing a computer system in communications network 20 (FIG. 1) topractice methods 150 (FIGS. 4 and 5). Communications network 26 is aconventional network, for example, but not limited to, the networksdescribed in Jacobs, I. M.; Binder, R.; Hoversten, E. V., Generalpurpose packet satellite networks, Proc. IEEE, Vol. 66, No. 11, 1978,Page(s): 1448-1467 and in Kahn, R. E.; Gronemeyer, S. A.; Burchfiel, J.;Kunzelman, R, C, Advances in packet ratio technology, Proc. IEEE, Vol.66, No. 11, 1978, Page(s): 1468-1496 and in similar subsequentlydeveloped networks; the signal is modulated and supplemental data isembedded utilizing conventional means, for example, but not limited to,the systems described in G. R. Cooper, C. D. McGillem, ModernCommunications and Spread Spectrum, ISBN 0-07-012951-7, Ch. 1, pp.28-44. System 100 (FIG. 1) can include a computer readable medium 28having instructions embodied therein for the practice of methods 200(FIGS. 4A, 4B), 300 (FIGS. 5A-5C), 400 (FIG. 6), and 500 (FIG. 7).

Although the description of various embodiments is provided herein, itshould be realized there is a wide variety of further and otherembodiments possible.

What is claimed is:
 1. A system for creating a build set and a bill ofmaterials, said system comprising: a bill of materials (BOM) processorcomprising: a package creator processor creating a package for eachcomputer-aided design (CAD) object, wherein said package includes atleast one quantity of materials and at least one BOM rule; a userinterface configured for execution by the BOM processor for receiving aselection of a section of a build set; a build set processor including amodel copier copying a master source model including a set of said CADobjects from said selected section of the build set; a package processorcollecting the set of said CAD objects, determining said packagesassociated with the set of said CAD objects, and determining quantitiesof materials associated with said packages; a rule processor applyingsaid at least one BOM rule to determine said build set materials fromthe determined quantities of materials; a building material processormerging similar of said build set materials to form a material list andassociated quantities and removing said build set materials that have azero value for associated quantities from the formed material list; anda BOM creator processor applying a rounding rule associated with saidpackage to said associated quantities, and creating a BOM from therounded associated quantities and the formed material list; an optionstring processor configured for: determining which of said set of saidCAD objects has associated option strings; applying user selected optionvalues to each of said associated option strings with each of thedetermined CAD objects; and logically evaluating each of said associatedoption strings; and a CAD object manipulator for manipulating each ofthe determined CAD objects based on the associated logically evaluatedoption string and saving the manipulated determined CAD objects in saidbuild set.
 2. The system of claim 1, wherein said model copier copiesselectable options associated with the set of said CAD objects, optionstrings associated with said selectable options, and graphical objectsthat have said option strings applied.
 3. The system of claim 1, whereinsaid BOM processor comprises an auto dimension processor for displayingdimensions associated with the set of said CAD objects including pointsand sides, receiving selections of said dimensions, and creatingexternal dimensions for each said side of said master source model, theexternal dimensions including opening positions, wall positions, sidedimensions, nodes for said side dimensions, and dimension strings;wherein the auto dimension processor is configured to create externaldimensions including determining said nodes and said dimension stringsfrom said master source model, determining positioning and displayattributes from pre-selected settings assigned to said master sourcemodel, and determining internal dimensions, including internalhorizontal dimensions and internal vertical dimensions, by assessing atemplate dimension manual set.
 4. A tangible, non-transitory computerreadable medium including computer executable instructions executable bya processor and comprising instructions for: creating an electronicpackage, including quantities of materials and BOM rules, for eachcomputer-aided design (CAD) object in the created package; receiving aselection of a section of the build set; collecting the CAD objects fromthe section; determining the electronic package associated with each ofthe collected CAD objects; determining the quantities of materialsassociated with the determined package; applying at least one of the BOMrules to determine build set materials from the quantities of materials;merging similar of the determined build set materials to form a materiallist and associated quantities; and removing the determined build setmaterials that have a zero value for an associated quantity property forthe determined build set materials from the material list; applying arounding rule associated with the determined package to the associatedquantities; creating the BOM from the rounded associated quantities andthe material list; copying a master source model including a set of CADobjects; determining which of the set of the CAD objects has associatedoption strings with each of the determined CAD objects; logicallyevaluating each of the associated option strings; manipulating each ofthe determined CAD object based on the associated logically evaluatedoption string; and storing the manipulated determined CAD objects in abuild set.
 5. The tangible computer readable medium of claim 4, whereinthe instructions for manipulating further comprise selecting amanipulation option, said manipulation option being at least one ofdeleting the determined CAD object, copying the determined CAD object,and modifying a property of the determined CAD object.
 6. The tangiblecomputer readable medium of claim 4, wherein the instructions fordetermining further comprise determining, from an external option, anexternal box option with associated external CAD objects, wherein theexternal box option includes an external boundary box and an externaloption connection array, wherein the external option connection arrayincludes at least one external option connection, wherein each of the atleast one external option connection includes an external optionconnection option string, an external base point, and an external optionpoint.
 7. The tangible computer readable medium of claim 6, furthercomprising instructions for: evaluating the external option connectionoption string associated with the at least one external optionconnection if there is no more than one of the at least one externaloption connections; and deleting the external CAD objects within theexternal box option and the external boundary box if the evaluatedexternal option connection option string resolves to “false”.
 8. Thetangible computer readable medium of claim 7, further comprising theinstructions for: assigning an external depth level to each externalnested box option within the external box option; ordering the externalnested box options according to the external depth level; and solvingthe external box option by solving each of the ordered external nestedbox options according to the external depth level.
 9. The tangiblecomputer readable medium of claim 8, wherein said instructions forsolving each of the ordered external nested box options comprisesinstructions for: determining a set of the at least one external optionconnections associated with the at least one external box option;evaluating an external option connection option string associated witheach of the set of the at least one external option connections; copyingthe external CAD object contained within the external boundary box fromthe external option point to an external base point if the evaluatedexternal option string resolves to “true”; and deleting the at least oneexternal box option after all the at least one external optionconnections have been evaluated.
 10. The computer readable medium ofclaim 8, further comprising instructions for: displaying dimensionsassociated with the CAD objects including points and sides; receivingselections of the displayed dimensions; creating external dimensions foreach side of the master source model, wherein the external dimensionsinclude opening positions, wall positions, side dimensions, nodes forthe side dimensions, and internal dimension strings; and storing theexternal dimensions in the build set.
 11. The computer readable mediumof claim 10, wherein said instructions for creating external dimensionscomprise instructions for: determining the nodes and the internaldimension strings from the master source model; determining the openingpositions, the wall positions, and display attributes from pre-selectedsettings assigned to the master source model; determining internaldimensions, including internal horizontal dimensions and internalvertical dimensions, by assessing a template dimension manual set by theuser; and storing the internal dimensions in the build set.
 12. Thecomputer readable medium of claim 4, wherein the collected CAD objectsare at least one of: CAD objects associated with CAD entities, CADobjects contained within at least one closed line, CAD objects on atleast one pre-selected layer, and CAD objects in at least onepre-selected external drawing.
 13. The computer readable medium of claim4, wherein the instructions for manipulating further comprise selectinga manipulation option, said manipulation option being at least one ofdeleting the determined CAD object, copying the determined CAD object,and modifying a property of the determined CAD object.
 14. The computerreadable medium of claim 4, further comprising instructions for:determining, at least one box option, including a boundary box and anoption connection array, wherein the option connection array includes atleast one option connection, wherein each of the at least one optionconnection includes an option connection option string, a base point,and an option point; evaluating the option connection option stringassociated with the at least one option connection if there is no morethan one of the at least one option connections; if the evaluated optionconnection option string resolves to “false”, deleting the CAD objectswithin the at least one box option and the boundary box from the buildset; assigning a depth level to each nested box option within the atleast one box option; ordering the nested box options according to thedepth level; and solving the at least one box option by solving each ofthe ordered nested box options according to the depth level.
 15. Thecomputer readable medium of claim 14, said instructions for solving eachof the ordered nested box options comprising instructions for:determining a set of the at least one option connections associated withthe at least one box option; evaluating the option connection optionstring associated with each of the set of at least one optionconnections; ignoring the at least one option connection if theevaluated option connection option string resolves to “false”; copyingthe CAD objects contained within the boundary box from the option pointto the base point if the evaluated option connection option stringresolves to “true”; and deleting the at least one box option after allthe option connections have been evaluated, including the CAD objectscontained within.